package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.*;

import java.util.List;

/**
 * Created by xu-jiaHui on 2017/4/22.
 */
public interface RoadSignMapService {

    /**
     * @Description: 获取标杆坐标用于地图显示
     * @Author: xu-jiaHui
     * @Date: 2017/4/22 13:46
     */
    public List<RoadpoleDto> getRoadPoleCoordinate4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;


    /**
     * @Description: 根据坐标获取标杆信息
     * @Author: xu-jiaHui
     * @Date: 2017/4/22 15:59
     */
    public List<RoadpoleDto> getRoadPoleByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 获取太阳能坐标用于地图显示
     * @Author: xu_jiaHui
     * @Date: 2017/7/27 13:37
     */
    public List<SolarEnergyDto> getSolarEnergyCoordinate4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;

    /**
     * @Description: 获取信号机坐标用于地图显示
     * @Author: xu_jiaHui
     * @Date: 2017/7/27 13:37
     */
    public List<SignalMachineDto> getSignalMachineCoordinate4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;

    /**
     * @Description: 根据坐标获取太阳能信息
     * @author xu_jiaHui
     * @date 2017/7/28 10:19
     */
    public MapInfoDto getSolarEnergyInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 根据坐标获取信号机信息
     * @author xu_jiaHui
     * @date 2017/7/28 10:30
     */
    public MapInfoDto getSignalMachineInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 根据坐标获取标杆信息
     * @author xu_jiaHui
     * @date 2017/7/29 13:31
     */
    public MapInfoDto getRoadPoleInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 获取信号灯坐标信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 17:32
     */
    public List<SignalLampDto> getSignalLampCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;

    /**
     * @Description: 获取监控箱坐标信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 17:33
     */
    public List<MonitorDto> getMonitorCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;

    /**
     * @Description: 获取窨井坐标信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 17:35
     */
    public List<CoverDto> getCoverCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;

    /**
     * @Description: 获取限高杆坐标信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 17:35
     */
    public List<HighLeverDto> getHighLeverCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;

    /**
     * @Description: 获取标线坐标信息
     * @author xu_jiaHui
     * @date 2017/8/19 13:39
     */
    public List<RoadLineDto> getRoadLineCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;


    /**
     * @Description: 根据坐标获取信号灯信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 20:58
     */
    public MapInfoDto getSignalLampInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 根据坐标获取监控箱信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 20:59
     */
    public MapInfoDto getMonitorInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 根据坐标获取窨井信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 21:00
     */
    public MapInfoDto getCoverInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 根据坐标获取窨井信息
     * @Author: xu_jiaHui
     * @Date: 2017/8/13 21:00
     */
    public MapInfoDto getHighLeverInfoByXY(String longitude, String latitude) throws Exception;

    /**
     * @Description: 根据id获取标线信息
     * @author xu_jiaHui
     * @date 2017/8/19 15:54
     */
    public MapInfoDto getRoadLineInfoById(Integer elementId) throws Exception;

    /**
     * @Description: 根据id获取护栏信息
     * @author xu_jiaHui
     * @date 2017/8/19 16:48
     */
    public MapInfoDto getGuardrailInfoById(Integer elementId) throws Exception;

    /**
     * @Description: 获取护栏坐标信息
     * @author xu_jiaHui
     * @date 2017/8/19 16:54
     */
    public List<GuardrailDto> getGuardrailCoordinates4Map(Integer orgId, Integer orgType, Integer actorId) throws Exception;
}
